/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package session;

import entity.Client;
import entity.Utilisateur;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author livetnediser
 */
@Stateless
public class UtilisateurFacade extends AbstractFacade<Utilisateur> {
    @PersistenceContext(unitName = "SexyShopPU")
    private EntityManager em;

    protected EntityManager getEntityManager() {
        return em;
    }

    public UtilisateurFacade() {
        super(Utilisateur.class);
    }
    
    public Utilisateur findByLogin(String login, String pass){
	List<Utilisateur> aux = em.createQuery("SELECT c FROM Utilisateur c WHERE c.login = :login AND c.password = :pass")
        .setParameter("login", login)
        .setParameter("pass", pass)
        .getResultList();
	if(aux != null && aux.size()>0){
	    return aux.get(0);
	} else{
	    return null;
	}
    }

    public Utilisateur findByUser(String user) {
        List<Utilisateur> aux = em.createQuery("SELECT c FROM Utilisateur c WHERE c.login = :login")
        .setParameter("login", user)
        .getResultList();
	if(aux != null && aux.size()>0){
	    return aux.get(0);
	} else{
	    return null;
	}
    }
    
    public Utilisateur findById(String id){
        List<Utilisateur> aux = em.createQuery("SELECT c FROM Utilisateur c WHERE c.idutilisateur = :id")
        .setParameter("id", Integer.parseInt(id))
        .getResultList();
        if(aux != null && aux.size()>0){
	    return aux.get(0);
	} else{
	    return null;
	}
    }
    
    public Utilisateur findByClient(Client client){
        List<Utilisateur> aux = em.createQuery("SELECT c FROM Utilisateur c WHERE c.idClient = :idclient")
        .setParameter("idclient", client)
        .getResultList();
	if(aux != null && aux.size()>0){
	    return aux.get(0);
	} else{
	    return null;
	}
    }
}
